package cn.supermaster.management.web.service.monitor;

import cn.supermaster.management.common.response.WebResponse;
import org.springframework.ui.ModelMap;

/**
 * All rights Reserved, Designed By www.super-bytecode.com
 *
 * @ProjectName: supermaster-management
 * @Package: cn.supermaster.management.web.service.monitor
 * @ClassName: ICacheService
 * @Description: []
 * <p> </p>
 * @Author: [Lance Ting]
 * @Date: 2021/1/10 16:48
 * @Version: V1.0
 * @Copyright: 2021 www.super-bytecode.comn Inc. All rights reserved.
 * TODO: 注意,本文件Lance Ting所作,如果转载或使用请标明具体出处!
 **/
public interface IMonitorCacheService {


    /**
     * ================================================
     * 页面跳转功能实现
     * ================================================
     */
    String queryAllCacheNames(ModelMap modelMap);

    String queryCacheNames(ModelMap modelMap, String fragment);

    String queryCacheKeys(ModelMap modelMap, String fragment, String cacheName);

    /**
     * ================================================
     * Rest功能实现
     * ================================================
     */
    /**
     * @Description: [清空缓存]
     * <p></P>
     * @Title: doClearCacheName
     * @Author: Lance Ting
     * @Date: 2021-01-10
     * @Param: modelMap
     * @Param: cacheName
     * @Return: cn.supermaster.management.common.response.WebResult
     * @Throws:
     */
    WebResponse doClearCacheName(ModelMap modelMap, String cacheName);

    /**
     * @Description: []
     * <p></P>
     * @Title: doClearCacheKey
     * @Author: Lance Ting
     * @Date: 2021-01-10
     * @Param: modelMap
     * @Param: cacheName
     * @Param: cacheKey
     * @Return: cn.supermaster.management.common.response.WebResult
     * @Throws:
     */
    WebResponse doClearCacheKey(ModelMap modelMap, String cacheName, String cacheKey);

    /**
     * @Description: [清空缓存]
     * <p></P>
     * @Title: doClearCacheAll
     * @Author: Lance Ting
     * @Date: 2021-01-10
     * @Param: modelMap
     * @Return: cn.supermaster.management.common.response.WebResult
     * @Throws:
     */
    WebResponse doClearCacheAll(ModelMap modelMap);


    String queryCacheValue(ModelMap modelMap, String fragment, String cacheName, String cacheKey);
}